Computer-aided techniques are known to include Computer-Aided Design or CAD, which relates to software solutions for authoring product design. Similarly, CAE is an acronym for Computer-Aided Engineering, e.g. it relates to software solutions for simulating the physical behavior of a future product. CAM stands for Computer-Aided Manufacturing and typically includes software solutions for defining manufacturing processes and operations.
A number of systems and programs are offered on the market for the design of objects (or parts) or assemblies of objects, forming a product, such as the one provided by Dassault Systèmes under the trademark CATIA. These CAD systems allow a user to construct and manipulate complex three dimensional (3D) models of objects or assemblies of objects. CAD systems thus provide a representation of modeled objects using edges or lines, in certain cases with faces. Lines or edges may be represented in various manners, e.g. non-uniform rational B-splines (NURBS). These CAD systems manage parts or assemblies of parts as modeled objects, which are mostly specifications of geometry. Specifically, CAD files contain specifications, from which geometry is generated, which in turn allow for a representation to be generated. Geometry and representation may be stored in a single CAD file or multiple ones. CAD systems include graphic tools for representing the modeled objects to the designers; these tools are dedicated to the display of complex objects—the typical size of a file representing an object in a CAD system being in the range of one Megabyte per part, and an assembly may comprise thousands of parts. A CAD system manages models of objects, which are stored in electronic files.
In computer-aided techniques, the graphical user interface (GUI) plays an important role as regards the efficiency of the technique. Most of the operations required for manipulating and/or navigating the modeled objects may be performed by the user (e.g. the designers) on the GUI. Especially, the user may create, modify, and delete the modeled objects forming the product, and also explore the product so as to comprehend how modeled objects are interrelated, e.g. via a product structure. Traditionally, these operations are carried out through dedicated menus and icons which are located on the sides of the GUI. Recently, CAD systems such as CATIA allow calling these functions nearby the representation of the product. The designer does not need anymore to move the mouse towards menus and icons. Operations are thus available within reach of the mouse. In addition, the operations behave semantically: for a given operation selected by the designer, the CAD system may suggests to the designer, still nearby the mouse, a set of new operations according to the former selected operation that the designer is likely to select.
Also known are Product Lifecycle Management (PLM) solutions, which refer to a business strategy that helps companies to share product data, apply common processes, and leverage corporate knowledge for the development of products from conception to the end of their life, across the concept of extended enterprise. By including the actors (company departments, business partners, suppliers, Original Equipment Manufacturers (OEM), and customers), PLM may allow this network to operate as a single entity to conceptualize, design, build, and support products and processes.
Some PLM solutions make it for instance possible to design and develop products by creating digital mockups (a 3D graphical model of a product). The digital product may be first defined and simulated using an appropriate application. Then, the lean digital manufacturing processes may be defined and modeled.
The PLM solutions provided by Dassault Systèmes (under the trademarks CATIA, ENOVIA and DELMIA) provides an Engineering Hub, which organizes product engineering knowledge, a Manufacturing Hub, which manages manufacturing engineering knowledge, and an Enterprise Hub which enables enterprise integrations and connections into both the Engineering and Manufacturing Hubs. All together the system delivers an open object model linking products, processes, resources to enable dynamic, knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production and service.
Such PLM solutions comprise a relational database of products. The database comprises a set of textual data and relations between the data. Data typically include technical data related to the products said data being ordered in a hierarchy of data and are indexed to be searchable. The data are representative of the modeled objects, which are often modeled products and processes.
Product lifecycle information, including product configuration, process knowledge and resources information are typically intended to be edited in a collaborative way.
Current CAD applications allow the user to define spatial relationships between the objects (or parts) of an assembly of objects, e.g. between two products of an assembly of objects. Typically, as know in the art, the user is a designer who moves an object relatively to another object in order to place the object at a specific position. For instance, the designer may wish to place a screw through a hole comprised in a plate. To this aim, the designer selects and moves the screw on the plate until a rough approximate of the desired position of the screw relatively to the hole of the plate is reached. Then, mating properties of the screw and the plate are used to find a position of the screw relatively to the plate, the position being determined according to the location of the screw provided by the designer.
However, positioning an object relatively to another is a difficult and cumbersome task for the designer because the designer has to move the first object over the second one (or parts of them) at the right place, and the first and second object may be really small; for instance, a part of an object may be like a point.
In addition, most of the current solutions propose only one position between two selected objects among a given couple of positions. Thus, these solutions do not provide a global and ordered set of all the relevant solutions between these objects, and therefore, the designer cannot determine what the best solution among the several solutions is. Moreover, if the user does not move the object over a particular element, he/she will not be informed of the corresponding solution.
Incidentally, some solutions propose to the designer positions between two selected objects by using all geometrical elements of the first and second objects, which in turn, can be quickly flooded with useless positions.
Thus, according to the limitations of the existing solutions shortly discussed above, there is a need for improving the recurrent assembly of objects in an easier and faster way such that the productivity of the designer is increased and the design errors minimized.